package com.bd.scm.dao.mapper.department;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bd.scm.domain.dto.department.DeptAgGridTree;
import com.bd.scm.domain.dto.login.LoginDto;
import com.bd.scm.domain.models.department.BdUserJob;
import com.bd.scm.domain.models.department.DtDep;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 *  部门 Mapper 接口
 *
 * @author yufc
 * @since 2019-08-27
 */
public interface DtDepMapper extends BaseMapper<DtDep> {
    /**
     * 删除前查询是否有子集部门
     * @param dept
     * @return
     */
    int selectChild(DtDep dept);
    /**
     * 删除部门
     * @param dept  部门对象
     * @return  返回影响行数，0表示更新失败
     */
    int delete(DtDep dept);

    /**
     * 获取岗位数据
     * @return
     */
    List<BdUserJob> findJobLists();

    /**
     * 获取部门数据
     * @return
     */
    List<DtDep> findDepLists(@Param("findDeptid") String findDeptid);

    /**
     * 获取2级部门数据  班次与部门使用
     * @return
     */
    List<DtDep> findDepList(@Param("findDeptid") String findDeptid);

    /**
     * 获取2级部门数据  规律班次与部门使用
     * @return
     */
    List<DtDep> findGlDepList(@Param("findDeptid") String findDeptid);

    /**
     * 登录名对应的部门编号and 位数
     * @param glyNo 登录名
     * @return
     */
    public List<LoginDto> findDept(LoginDto loginDto);
    /**
     * 登录名对应的部门id
     * @param queryMap
     * @return
     */
    public List<String> findDeptid(LoginDto loginDto);
    /**
     * 部门id
     * @param queryMap
     * @return
     */
    public List<String> findSoleDeptid(LoginDto loginDto);

    List<DeptAgGridTree> getAgTreeGridList(@Param("depName") String depName);

    int deleteDtDep(DtDep dept);

    int updateDtDep(DtDep dept);

    int updateDtDepZi(DtDep dept);

    /**
     * 根据部门名称，编号模糊查询部门
     * @param serchValue
     * @return
     */
    List<DtDep> findDtDepList(String serchValue);


}
